package org.autumn.algorithm.sort;

public class BubbleSort extends AbstractSort {

    /**
     *  冒泡排序
     *  从第一个元素开始，与第二个元素比较,大于则交换,然后第二个元素和第三个元素比较,大于则交换....
     *  此时数组最大值在数组的最后一个元素,冒泡范围-1
     *  重复冒泡... 范围-1
     *  冒泡N-1次后 排序结束
     */
    @Override
    public void doSort(int[] arr) {
        for (int i = 0; i < arr.length - 1; i++) {
            for (int j = 0; j < arr.length - 1 - i; j++) {
                if (arr[j] > arr[j + 1]) {
                    xorSwap(arr, j, j + 1);
                }
            }
        }
    }
}
